Repeaters are very common in systems where multiple devices share a common bus for communication. Moreover, standards, such as Inter-Integrated Circuit (I2C) and System Management Bus (SMBUS) protocol, require the communication over open-drain lines. However, due to the bi-directional nature of communicating between devices, detecting which device is transmitting/receiving data is challenging for repeaters.
Conventional approaches to repeaters in open-drain systems involve either static offset buffers or complicated power hungry circuitry. Static offset buffers are problematic, because static offset buffers introduce a static offset that can be problematic for downstream devices to see a proper output low level. In addition, many repeaters use pull-up resistors to detect the transmission and/or reception of data, but these pull-up resistors can be large in size and are costly. In addition to these problems, some repeaters are not capable of handling higher speed communications.